iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
Modern Web

30天絕望倒數JavaScript系列 第 20

JavaScript 邏輯運算子

  • 分享至 

  • xImage
  •  

JavaScript 提供三個主要的邏輯運算子:

運算子 名稱 說明
&& AND(且) 只有當兩邊的條件都為 true,結果才是 true
ll OR(或) 只要有一邊為 true,結果就是 true
! NOT(非) 將布林值反轉,true 變成 falsefalse 變成 true

1. AND (&&)

  • 兩個條件 都必須成立,結果才是 true
  • 如果其中一個是 false,結果就是 false
// AND 範例
let a = true;
let b = false;

console.log(a && b); // false (因為 b 是 false)
console.log(a && true); // true
console.log(b && true); // false

// 常見用法:多條件判斷
let age = 20;
let hasID = true;

if (age >= 18 && hasID) {
  console.log("允許進入");
} else {
  console.log("禁止進入");
}

OR (||)

  • 只要有一個條件為 true,結果就是 true
  • 兩個條件都為 false,結果才是 false
// OR 範例
let a = true;
let b = false;

console.log(a || b); // true (因為 a 是 true)
console.log(false || false); // false
console.log(true || true); // true

// 常見用法:提供替代值
let username = "";
let defaultName = "訪客";

let displayName = username || defaultName;
console.log(displayName); // "訪客"

NOT (!)

  • 將布林值反轉:
  • !true → false
  • !false → true
// NOT 範例
let a = true;
let b = false;

console.log(!a); // false
console.log(!b); // true

// 常見用法:條件反向判斷
let isLoggedIn = false;

if (!isLoggedIn) {
  console.log("請先登入!");
}

運算子結合應用

// 綜合範例
let age = 25;
let hasTicket = true;
let isVIP = false;

if ((age >= 18 && hasTicket) || isVIP) {
  console.log("可以入場");
} else {
  console.log("不允許入場");
}

短路運算

  • 在 JavaScript 中,邏輯運算子不只用於布林值,還會有 短路運算 的特性:
// &&:遇到 false 就停止
console.log(false && "Hello"); // false

// ||:遇到 true 就停止
console.log(true || "Hello"); // true

// 常用於給預設值
let name = "" || "匿名";
console.log(name); // 匿名

上一篇
JavaScript Booleans
下一篇
JavaScript Loops (迴圈)
系列文
30天絕望倒數JavaScript23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言